﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetFrameworkExtensions.DataLayer
{
  public interface IIdentifiedData
  {
    object Identifier { get; set; }

    Type IdentifiedType { get; }

    Type IdentifierType { get; }
  }

  public interface IIdentifiedData<TIdentified, TIdentifier> :
    IIdentifiedData
    where TIdentified : class, IIdentifiedData<TIdentified, TIdentifier>
    where TIdentifier : IEquatable<TIdentifier>
  {
    new TIdentifier Identifier { get; set; }
  }
}
